The present invention relates in general to removing systematic position-sensing errors in an internal combustion engine position sensing system, and more specifically to a procedure to be conducted after assembly of an engine which quantifies any variation of the spacing of position encoding markers from a uniform spacing.
Modern engine control and diagnosis requires accurate, high resolution position sensing as an engine rotates through its engine cycle. For example, copending U.S. Ser. No. 07/572,650, entitle "Misfire Detection In An Internal Combustion Engine", which is incorporated herein by reference, teaches the detection of misfires or failure of one or more cylinders to produce power during its power stroke by detecting very small changes in the velocity (and thus acceleration) of the engine crankshaft. Since the velocity during each velocity measuring (i.e., firing) interval of engine rotation is determined according to the rotational arc .DELTA..theta. covered by the interval divided by the time .DELTA.T required to pass through the arc, the measured values for both .DELTA..theta. and .DELTA.T must be measured sufficiently accurately to provide the sensitivity required to detect such small velocity changes.
Engine rotational position is monitored using a rotor having vanes, teeth, or slots disposed thereon for interacting with magnetic or optical sensors at predetermined points in the rotation of the engine crankshaft. Thus, in order to determine engine velocity, only values of .DELTA.T are actually measured. The values of each .DELTA..theta. are assumed to be known from the rotor design. Furthermore, the arcs throughout the rotation of the rotor are typically uniform (i.e., all .DELTA..theta.'s are equal) so that each calculated velocity equals a constant divided by the measured time .DELTA.T. Any systematic deviation of the actual angles .DELTA..theta. from the assumed values, such as caused by manufacturing errors, will result in velocities, and hence, accelerations which are in error. If the angular error is sufficiently large, the erroneous values of velocity and acceleration can distort the effects of a misfiring cylinder or can cause an erroneous indication of one or more cylinders as having misfired even when engine operation is in fact smooth (i.e., no power loss in any cylinder).
The foregoing problems can be avoided by manufacturing rotors with position encoding markers which are accurately located in their desired position. However, accuracy to within a few tenth's of a degree or better is typically required, which adds expense to the rotor. Furthermore, it is desirable to perform engine diagnosis using diagnostic equipment attached to older engines which have not been manufactured with high accuracy position encoding rotors.
An alternative to accurate manufacture is to simply measure the resulting separation of position markers which are produced rather than assuming perfect uniformity in their positioning. To measure the separation of position markers by timing their passage past the position sensor in a running engine would require the engine to be running perfectly smoothly. However, since it is not possible to detect whether an engine is running perfectly smoothly without first having accurate position sensing, actual position values .DELTA..theta. cannot be determined. It would also be impractical to physically measure the dimensions of a rotor prior to engine assembly because that would require extra manufacturing steps to keep track of the rotor dimensions so that they could be stored electonically within the engine controller, which is manufactured separately from the engine.